Presentation architectures are provided for representing documents in a data format which is independent of the methods utilized to capture or create those documents. Documents may contain combinations of text, image, graphics, and/or bar code objects in device and resolution independent formats. Documents may also contain fonts, overlays, and other resource objects, which are required at presentation time to present the data properly. Additionally, documents may also contain resource objects, such as a document index and tagging elements supporting the search and navigation of document data for a variety of application purposes. In general, a presentation architecture for presenting documents in printed format employs a presentation data stream comprising a device-independent application data stream and a device-dependent printer data stream.
A data stream is a continuous ordered stream of data elements and objects which conform to a given format. Application programs can generate data streams destined for a presentation service, archive library, or another application program. The Mixed Object Document Content Architecture (MO:DCA) developed by International Business Machines Corporation of Armonk, N.Y. defines a data stream, which may be utilized by applications to describe documents and object envelopes for document interchange and document exchange with other applications and application services. Interchange is the predictable interpretation of shared information in an environment where the characteristics of each process need not be known to all other processes. Exchange is the predictable interpretation of shared information by a family of system processes in an environment where the characteristics of each process may have to be known to all other processes. Documents which are defined in the MO:DCA format may be archived in a database, and later retrieved, viewed, annotated, and printed in local or distributed system environments.
The MO:DCA file format is designed to be used with a printing system known as the “Advanced Function Presentation” (AFP) printing system developed by, and available from, International Business Machines Corporation, Armonk, N.Y. This printing system has a spool to receive and spool the data stream (such as the data stream in the MO:DCA format) generated by an application into a file, commonly referred to as a “spool file.” Spooling may refer to converting the print data into codes that a print server may understand. The AFP printing system may further include an intelligent print server which receives the spool file from the spool and uses the references in the data stream to retrieve the stored resources from a resource database.
The spool file may include a print document that includes multiple sub-documents. For example, a telephone company may print all of its telephone bills for a specified week as a single print document. Each telephone bill in the single print document may be thought of as a sub-document which may have to be sent to a particular customer.
The pages (or sub-documents) in a print document may have one or more associated “overlays,” which are static templates to which the page information is added. Continuing with the telephone company example, an overlay for the telephone bills may be the background of the telephone bill having the company logo, and columns for listing the telephone numbers called. Overlays typically are stored in the resource library and utilized by the print server, when processing the spool file, to produce the printed document.
The print server may then convert the data stream (the spool file of the single document) to a device specified data stream directed to a printer for producing the printed document. The single print document that includes multiple sub-documents may then be printed by the printer.
Currently, the action that is performed on the document is performed on the entire document including the sub-documents. Continuing with the telephone company example, all the telephone bills are printed out to be mailed to different customers through the United States Postal Service® regardless as to whether the customer prefers to receive the telephone bill in a different manner.
However, it may be desirable to perform different actions on the data stream besides printing out the document in a hard copy format. It may further be desirable to perform different actions on different sub-documents in the single document. For example, it may be desirable to send one of the sub-documents electronically to the appropriate individual. In another example, it may be desirable to fax one of the sub-documents to the appropriate individual. Continuing with the telephone company example, one customer may prefer to receive the telephone bill by fax instead of by mail through the United States Postal Service®. Another customer may prefer to receive the telephone bill by e-mail instead of by mail through the United States Postal Service®.
Therefore, there is a need in the art to perform multiple actions, e.g., fax, e-mail, archive, print in a particular format, on a single spool file.